<template>
  <div class="mui-numbox" data-numbox-min="1" :data-numbox-max="max" :style="myStyle">
    <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
    <input class="mui-input-numbox" type="number" :value="initcount" @change="countChanged" ref="num">
    <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
  </div>
</template>

<script>
import mui from '../lib/mui/js/mui.min.js';

export default {
  data() {
    return {
      myStyle: {} // 定义 myStyle 样式对象
    };
  },
  mounted() {
    mui('.mui-numbox').numbox(); // 初始化 numbox 组件

    // 根据 size 的值设置 myStyle
    if (this.$props.size === 'min') {
      this.myStyle = { height: '25px', margin: '0 10px 0px 10px' };
    }
  },
  methods: {
    countChanged() {
      var count = parseInt(this.$refs.num.value);
      this.$emit('count', { id: this.goodsid, count: count }); // 触发 count 事件
    }
  },
  props: ['initcount', 'max', 'goodsid', 'size'], // 接收父组件传递的属性
  watch: {
    'max'(newVal) {
      mui('.mui-numbox').numbox().setOption('max', newVal); // 监听 max 的变化
    }
  }
};
</script>